M32RDX_options

Contents|Index|Previous|Next
Mitsubishi M32R/D/X options

The following ‘`-m`’ options are defined for Mitsubishi M32R/D/X architectures.

`-mcode-model=small`

Assume all objects live in the lower 16MB of memory (so that their addresses can be loaded with the ld24 instruction), and assume all subroutines are reachable with the `bl` instruction. This is the default. The addressability of a particular object can be set with the model attribute.

`-mcode-model=medium`

Assume objects may be anywhere in the 32 bit address space (the compiler will generate `seth/add3` instructions to load their addresses), and assume all subroutines are reachable with the `bl` instruction.

`-mcode-model=large`

Assume objects may be anywhere in the 32 bit address space (the compiler will generate `seth/add3` instructions to load their addresses), and assume subroutines may not be reachable with the bl instruction (the compiler will generate the much slower `seth/add3/jl` instruction sequence).

`-msdata=none`

Disable use of the small data area. Variables will be put into one of ‘`.data`’, ‘`.bss`’, or ‘`.rodata`’ (unless the `section` attribute has been specified). This is the default.The small data area consists of sections, ‘`.sdata`’ and ‘`.sbss`’. Objects may be explicitly put in the small data area with the section attribute using one of these sections.

`-msdata=sdata`

Put small global and static data in the small data area, but do not generate special code to reference them.

`-msdata=use`

Put small global and static data in the small data area, and generate special instructions to reference them.

`-G num`

Put global and static objects less than or equal to `num` bytes into the small data or bss sections instead of the normal data or bss sections. The default value of `num` is 8. The ‘`-msdata`’ option must be set to one of ‘`sdata`’ or ‘`use`’ for this option to have any effect. All modules should be compiled with the same ‘`-G num`’ value. Compiling with different values of `num` may or may not work; if it doesn’t, the linker will give an error message: incorrect code will not be generated.

Top|Contents|Index|Previous|Next